Multiversion concurrency control(MVCC)
https://en.wikipedia.org/wiki/Multiversion_concurrency_control
High Performance MySQL
行レベルロックとMVCCを合わせて使う
Oracle
や
PostgreSQL
にもある
行レベルロックに一捻り加えたものと考えられる
実装方法の一つは
Optimistic and pessimistic concurrency control
undo/redoログを使うことでロックなしにreadすることができる
行ごとに余分のデータを保存する必要がある
行を読み取る時に余分の仕事がある
余分の管理タスクがある
MVCCは
REPEATABLE READ
と
READ COMMITTED
だけで働く